﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class ClientesWF : System.Web.UI.Page
{
    Cliente cli1;

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            ((Label)this.Master.FindControl("lblPagina")).Text = "Clientes";
            cvIngreso.ValueToCompare = DateTime.Today.AddDays(1).ToString("dd/MM/yyyy");

            //ddlProvincias.Items.Add("Cordoba");
            ddlProvincias.Items.Add(new ListItem("Cordoba", "1"));
            ddlProvincias.Items.Add(new ListItem("Buenos Aires", "2"));

            radEstadoCivil.Items.Add(new ListItem("Soltero", "1"));
            radEstadoCivil.Items.Add(new ListItem("Casado", "2"));

        }

        Label1.Text = "";
    }
    protected void butCancelar_Click(object sender, EventArgs e)
    {
        this.Session["cliente"] = null;

        Response.Redirect("Default.aspx");
    }
    protected void butGrabar_Click(object sender, EventArgs e)
    {

        if (Page.IsValid)
        {

            if (Session["cliente"] != null)
            {
                cli1 = (Cliente) Session["cliente"];
            }
            else
            {
                cli1 = new Cliente();
            }

            string idSession = this.Session.SessionID;



            cli1.Nombre = txtNombre.Text;

            int IdProvincia = int.Parse(ddlProvincias.SelectedItem.Value);
            string nombreprovincia = ddlProvincias.SelectedItem.Text;

            cli1.IdProvincia = IdProvincia;

            this.Session["cliente"] = cli1;

            this.Session["numero"] = 100;

            int numero = (int) this.Session["numero"];



            int IdEstadoCivil = int.Parse(radEstadoCivil.SelectedItem.Value);
            string EstadoCivil = radEstadoCivil.SelectedItem.Text;

        }



        //try
        //{
        //    double creditoMaximo = double.Parse(txtCreditoMaximo.Text);
        //}
        //catch (Exception)
        //{

        //    Label1.Text = "ingrese solo numeros";

        //}

        //if (txtNombre.Text == "")
        //{
        //    Label1.Text += " el nombre es obligatorio";

        //}

        //if (Label1.Text =="")



        if (Page.IsValid)
        {
            Label1.Text = "Registro grabado con exito"; // remplaza el proceso 
        }



    }
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {


    }
    bool verificarCuit(string numerocuit)
    {
        int suma, longitud, valor1, valor2;
        suma = 0;
        string final;
        longitud = numerocuit.Length;
        string patron = "5432765432";

        if (longitud == 11)
        {
            if (numerocuit.Substring(0, 2).CompareTo("20") == 0 || numerocuit.Substring(0, 2).CompareTo("23") == 0 || numerocuit.Substring(0, 2).CompareTo("24") == 0 || numerocuit.Substring(0, 2).CompareTo("27") == 0 || numerocuit.Substring(0, 2).CompareTo("30") == 0)
            {

                final = numerocuit[10].ToString();

                for (int i = 0; i <= 9; i++)
                {
                    try
                    {

                        suma += int.Parse(patron[i].ToString()) * int.Parse(numerocuit[i].ToString());

                    }
                    catch
                    {
                        //Console.WriteLine(" El numero tiene caracteres");
                        return false;
                    }

                }

                valor1 = suma % 11;
                valor2 = 11 - valor1;

                if (valor2 == 11)
                {
                    valor2 = 0;
                }
                else if (valor2 == 10)
                {
                    valor2 = 9;
                }

                if (String.Equals(Convert.ToString(valor2), final))
                    return true;
                else
                    return false;

            }
            else
            {
                //Console.WriteLine("comienzo del cuit erroneo");
                return false;
            }
        }
        else
        {
            //Console.WriteLine("longitud del cuit erronea");
            return false;


        }
    }

    protected void cvCuit_ServerValidate(object source, ServerValidateEventArgs args)
    {
        args.IsValid = verificarCuit(args.Value);
    }
}
